<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: cv::cuda::GpuMatND Class Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d1/d1a/namespacecv_1_1cuda.html">cuda</a></li><li class="navelem"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../dd/dbc/classcv_1_1cuda_1_1GpuMatND-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::cuda::GpuMatND Class Reference<div class="ingroups"><a class="el" href="../../d1/d1e/group__cuda.html">CUDA-accelerated Computer Vision</a> &raquo; <a class="el" href="../../d7/d05/group__cudacore.html">Core part</a> &raquo; <a class="el" href="../../d9/d41/group__cudacore__struct.html">Data Structures</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;opencv2/core/cuda.hpp&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad237f0819b8b867a4dd8a4e8ebe69751"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">IndexArray</a> = std::vector&lt; int &gt;</td></tr>
<tr class="separator:ad237f0819b8b867a4dd8a4e8ebe69751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02420c069482deee85b0f111d3edd3d3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a> = std::vector&lt; int &gt;</td></tr>
<tr class="separator:a02420c069482deee85b0f111d3edd3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200e362b6ffa85296e917a3a7baf5397"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a> = std::vector&lt; size_t &gt;</td></tr>
<tr class="separator:a200e362b6ffa85296e917a3a7baf5397"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0121ae48309b703132bdd1c62a74e8b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a0121ae48309b703132bdd1c62a74e8b9">GpuMatND</a> ()</td></tr>
<tr class="memdesc:a0121ae48309b703132bdd1c62a74e8b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor  <a href="#a0121ae48309b703132bdd1c62a74e8b9">More...</a><br /></td></tr>
<tr class="separator:a0121ae48309b703132bdd1c62a74e8b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa861cde3285953a9f31fc6cbc0e864b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aa861cde3285953a9f31fc6cbc0e864b9">GpuMatND</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a> <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab0b733dbf9e305537fd9f45834d1fa15">size</a>, int <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aaaa7c0aff13beeac8217773f57b47468">type</a>)</td></tr>
<tr class="separator:aa861cde3285953a9f31fc6cbc0e864b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88ce43a2c7922db3dbfc1979faca28d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ac88ce43a2c7922db3dbfc1979faca28d">GpuMatND</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a> <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab0b733dbf9e305537fd9f45834d1fa15">size</a>, int <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aaaa7c0aff13beeac8217773f57b47468">type</a>, void *data, <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a> <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a3448b5ff7cd136b1c36ef20ce95136af">step</a>=<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a>())</td></tr>
<tr class="separator:ac88ce43a2c7922db3dbfc1979faca28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a069cb5cb3feadfb800c1a318c726391b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a069cb5cb3feadfb800c1a318c726391b">GpuMatND</a> (const <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;)=default</td></tr>
<tr class="separator:a069cb5cb3feadfb800c1a318c726391b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b0d644164f83237dd4354344781ca7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a9b0d644164f83237dd4354344781ca7e">GpuMatND</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a9b0d644164f83237dd4354344781ca7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0f008b1853b871ff6a710f0e212312"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a1b0f008b1853b871ff6a710f0e212312">~GpuMatND</a> ()</td></tr>
<tr class="memdesc:a1b0f008b1853b871ff6a710f0e212312"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor  <a href="#a1b0f008b1853b871ff6a710f0e212312">More...</a><br /></td></tr>
<tr class="separator:a1b0f008b1853b871ff6a710f0e212312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a286dc4b28a43c41814355fea8fb5eecf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a286dc4b28a43c41814355fea8fb5eecf">clone</a> () const</td></tr>
<tr class="memdesc:a286dc4b28a43c41814355fea8fb5eecf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a full copy of the array and the underlying data. The method creates a full copy of the array. It mimics the behavior of <a class="el" href="../../d3/d63/classcv_1_1Mat.html#adff2ea98da45eae0833e73582dd4a660" title="Creates a full copy of the array and the underlying data. ">Mat::clone()</a>, i.e. the original step is not taken into account. So, the array copy is a continuous array occupying <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a1f394b0658fde4da1fd67e667e1e7d0d" title="returns the total number of array elements ">total()</a>*elemSize() bytes.  <a href="#a286dc4b28a43c41814355fea8fb5eecf">More...</a><br /></td></tr>
<tr class="separator:a286dc4b28a43c41814355fea8fb5eecf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f31a070b2336e47cd24de568cfb2c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a03f31a070b2336e47cd24de568cfb2c2">clone</a> (<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream) const</td></tr>
<tr class="separator:a03f31a070b2336e47cd24de568cfb2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac611c38596f137fcb096297735a4ea13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ac611c38596f137fcb096297735a4ea13">create</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a> <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab0b733dbf9e305537fd9f45834d1fa15">size</a>, int <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aaaa7c0aff13beeac8217773f57b47468">type</a>)</td></tr>
<tr class="memdesc:ac611c38596f137fcb096297735a4ea13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates GPU memory. Suppose there is some GPU memory already allocated. In that case, this method may choose to reuse that GPU memory under the specific condition: it must be of the same size and type, not externally allocated, the GPU memory is continuous(i.e., <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a69cf00f52088902c4f7cfb878889d24b">isContinuous()</a> is true), and is not a sub-matrix of another <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> (i.e., <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a12b9ae95f63299fc6a4ca0078f393368" title="returns true if the matrix is a sub-matrix of another matrix ">isSubmatrix()</a> is false). In other words, this method guarantees that the GPU memory allocated by this method is always continuous and is not a sub-region of another <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>.  <a href="#ac611c38596f137fcb096297735a4ea13">More...</a><br /></td></tr>
<tr class="separator:ac611c38596f137fcb096297735a4ea13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a838414e68957e2e4ea6cf92f138d36ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a838414e68957e2e4ea6cf92f138d36ed">createGpuMatHeader</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">IndexArray</a> idx, <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> rowRange, <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> colRange) const</td></tr>
<tr class="memdesc:a838414e68957e2e4ea6cf92f138d36ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a> header for a 2D plane part of an n-dim matrix.  <a href="#a838414e68957e2e4ea6cf92f138d36ed">More...</a><br /></td></tr>
<tr class="separator:a838414e68957e2e4ea6cf92f138d36ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9685798953a57ebbd18558a6ca0e9c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a9685798953a57ebbd18558a6ca0e9c63">createGpuMatHeader</a> () const</td></tr>
<tr class="separator:a9685798953a57ebbd18558a6ca0e9c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a541ecc2ed0a625fa1a553ebec49ea5da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a541ecc2ed0a625fa1a553ebec49ea5da">download</a> (<a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> dst) const</td></tr>
<tr class="separator:a541ecc2ed0a625fa1a553ebec49ea5da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae73194a603d3897279950934d52e94ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ae73194a603d3897279950934d52e94ce">download</a> (<a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> dst, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream) const</td></tr>
<tr class="separator:ae73194a603d3897279950934d52e94ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9613a1cb08b93538c6a91e4b65dc68f1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a9613a1cb08b93538c6a91e4b65dc68f1">elemSize</a> () const</td></tr>
<tr class="memdesc:a9613a1cb08b93538c6a91e4b65dc68f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns element size in bytes  <a href="#a9613a1cb08b93538c6a91e4b65dc68f1">More...</a><br /></td></tr>
<tr class="separator:a9613a1cb08b93538c6a91e4b65dc68f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32608e334c69769359fb395a9c012f94"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a32608e334c69769359fb395a9c012f94">elemSize1</a> () const</td></tr>
<tr class="memdesc:a32608e334c69769359fb395a9c012f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the size of element channel in bytes  <a href="#a32608e334c69769359fb395a9c012f94">More...</a><br /></td></tr>
<tr class="separator:a32608e334c69769359fb395a9c012f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70f1a6adcd06229f4953b72b9d7918d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad70f1a6adcd06229f4953b72b9d7918d">empty</a> () const</td></tr>
<tr class="memdesc:ad70f1a6adcd06229f4953b72b9d7918d"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if data is null  <a href="#ad70f1a6adcd06229f4953b72b9d7918d">More...</a><br /></td></tr>
<tr class="separator:ad70f1a6adcd06229f4953b72b9d7918d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c5ccfd3a01b3c25ef2b860668781017"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a1c5ccfd3a01b3c25ef2b860668781017">external</a> () const</td></tr>
<tr class="memdesc:a1c5ccfd3a01b3c25ef2b860668781017"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if not empty and points to external(user-allocated) gpu memory  <a href="#a1c5ccfd3a01b3c25ef2b860668781017">More...</a><br /></td></tr>
<tr class="separator:a1c5ccfd3a01b3c25ef2b860668781017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31d6434447c3acf551f580175b1daaf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga65f85814a8290f9797005d3b28e7e5fc">uchar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a31d6434447c3acf551f580175b1daaf1">getDevicePtr</a> () const</td></tr>
<tr class="memdesc:a31d6434447c3acf551f580175b1daaf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns pointer to the first byte of the GPU memory  <a href="#a31d6434447c3acf551f580175b1daaf1">More...</a><br /></td></tr>
<tr class="separator:a31d6434447c3acf551f580175b1daaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69cf00f52088902c4f7cfb878889d24b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a69cf00f52088902c4f7cfb878889d24b">isContinuous</a> () const</td></tr>
<tr class="separator:a69cf00f52088902c4f7cfb878889d24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12b9ae95f63299fc6a4ca0078f393368"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a12b9ae95f63299fc6a4ca0078f393368">isSubmatrix</a> () const</td></tr>
<tr class="memdesc:a12b9ae95f63299fc6a4ca0078f393368"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the matrix is a sub-matrix of another matrix  <a href="#a12b9ae95f63299fc6a4ca0078f393368">More...</a><br /></td></tr>
<tr class="separator:a12b9ae95f63299fc6a4ca0078f393368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1c7d7063a526b4662c339a965e601a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#af1c7d7063a526b4662c339a965e601a7">operator GpuMat</a> () const</td></tr>
<tr class="memdesc:af1c7d7063a526b4662c339a965e601a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a 2D plane part of an n-dim matrix if this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> is effectively 2D. It differs from <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a838414e68957e2e4ea6cf92f138d36ed" title="Creates a GpuMat header for a 2D plane part of an n-dim matrix. ">createGpuMatHeader()</a> in that it clones a part of this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>.  <a href="#af1c7d7063a526b4662c339a965e601a7">More...</a><br /></td></tr>
<tr class="separator:af1c7d7063a526b4662c339a965e601a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50c25ab533701f7e6c590f77ceca463"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ac50c25ab533701f7e6c590f77ceca463">operator()</a> (const std::vector&lt; <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> &gt; &amp;ranges) const</td></tr>
<tr class="memdesc:ac50c25ab533701f7e6c590f77ceca463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a sub-matrix. The operator makes a new header for the specified sub-array of *this. The operator is an O(1) operation, that is, no matrix data is copied.  <a href="#ac50c25ab533701f7e6c590f77ceca463">More...</a><br /></td></tr>
<tr class="separator:ac50c25ab533701f7e6c590f77ceca463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b4feb04cb75aa314905b36d15cf7684"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a9b4feb04cb75aa314905b36d15cf7684">operator()</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">IndexArray</a> idx, <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> rowRange, <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> colRange) const</td></tr>
<tr class="memdesc:a9b4feb04cb75aa314905b36d15cf7684"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a 2D plane part of an n-dim matrix. It differs from createGpuMatHeader(IndexArray, Range, Range) in that it clones a part of this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> to the returned <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a>.  <a href="#a9b4feb04cb75aa314905b36d15cf7684">More...</a><br /></td></tr>
<tr class="separator:a9b4feb04cb75aa314905b36d15cf7684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e3de09bc1167dc22782cfdfe785110d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a7e3de09bc1167dc22782cfdfe785110d">operator=</a> (const <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;)=default</td></tr>
<tr class="separator:a7e3de09bc1167dc22782cfdfe785110d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094e90d266662f1ab2b47e72aa0468fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a094e90d266662f1ab2b47e72aa0468fb">operator=</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a094e90d266662f1ab2b47e72aa0468fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2fb57a56ebd24076ff2ab715cfdb55b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab2fb57a56ebd24076ff2ab715cfdb55b">release</a> ()</td></tr>
<tr class="separator:ab2fb57a56ebd24076ff2ab715cfdb55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff068aafbcb358f85bf214f51ff3a785"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aff068aafbcb358f85bf214f51ff3a785">swap</a> (<a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;m) noexcept</td></tr>
<tr class="separator:aff068aafbcb358f85bf214f51ff3a785"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f394b0658fde4da1fd67e667e1e7d0d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a1f394b0658fde4da1fd67e667e1e7d0d">total</a> () const</td></tr>
<tr class="memdesc:a1f394b0658fde4da1fd67e667e1e7d0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the total number of array elements  <a href="#a1f394b0658fde4da1fd67e667e1e7d0d">More...</a><br /></td></tr>
<tr class="separator:a1f394b0658fde4da1fd67e667e1e7d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ead01c1372c6dce2ee3217b7392ffff"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a9ead01c1372c6dce2ee3217b7392ffff">totalMemSize</a> () const</td></tr>
<tr class="memdesc:a9ead01c1372c6dce2ee3217b7392ffff"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the size of underlying memory in bytes  <a href="#a9ead01c1372c6dce2ee3217b7392ffff">More...</a><br /></td></tr>
<tr class="separator:a9ead01c1372c6dce2ee3217b7392ffff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa7c0aff13beeac8217773f57b47468"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#aaaa7c0aff13beeac8217773f57b47468">type</a> () const</td></tr>
<tr class="memdesc:aaaa7c0aff13beeac8217773f57b47468"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns element type  <a href="#aaaa7c0aff13beeac8217773f57b47468">More...</a><br /></td></tr>
<tr class="separator:aaaa7c0aff13beeac8217773f57b47468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2216b878fd50a7aec3d1f580bd5471a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#af2216b878fd50a7aec3d1f580bd5471a">upload</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> src)</td></tr>
<tr class="separator:af2216b878fd50a7aec3d1f580bd5471a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab36e1f43183fa34d08170a555aa05ac4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab36e1f43183fa34d08170a555aa05ac4">upload</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> src, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream)</td></tr>
<tr class="separator:ab36e1f43183fa34d08170a555aa05ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a0c7bb2ffe61258ee8330e92ed2de841c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a0c7bb2ffe61258ee8330e92ed2de841c">dims</a></td></tr>
<tr class="memdesc:a0c7bb2ffe61258ee8330e92ed2de841c"><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix dimensionality  <a href="#a0c7bb2ffe61258ee8330e92ed2de841c">More...</a><br /></td></tr>
<tr class="separator:a0c7bb2ffe61258ee8330e92ed2de841c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d884fbe10014edf2410aed9d0dc7d4c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a7d884fbe10014edf2410aed9d0dc7d4c">flags</a></td></tr>
<tr class="separator:a7d884fbe10014edf2410aed9d0dc7d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b733dbf9e305537fd9f45834d1fa15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ab0b733dbf9e305537fd9f45834d1fa15">size</a></td></tr>
<tr class="memdesc:ab0b733dbf9e305537fd9f45834d1fa15"><td class="mdescLeft">&#160;</td><td class="mdescRight">shape of this array  <a href="#ab0b733dbf9e305537fd9f45834d1fa15">More...</a><br /></td></tr>
<tr class="separator:ab0b733dbf9e305537fd9f45834d1fa15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3448b5ff7cd136b1c36ef20ce95136af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a3448b5ff7cd136b1c36ef20ce95136af">step</a></td></tr>
<tr class="separator:a3448b5ff7cd136b1c36ef20ce95136af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ad237f0819b8b867a4dd8a4e8ebe69751"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad237f0819b8b867a4dd8a4e8ebe69751">&#9670;&nbsp;</a></span>IndexArray</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">cv::cuda::GpuMatND::IndexArray</a> =  std::vector&lt;int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a02420c069482deee85b0f111d3edd3d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02420c069482deee85b0f111d3edd3d3">&#9670;&nbsp;</a></span>SizeArray</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">cv::cuda::GpuMatND::SizeArray</a> =  std::vector&lt;int&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a200e362b6ffa85296e917a3a7baf5397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a200e362b6ffa85296e917a3a7baf5397">&#9670;&nbsp;</a></span>StepArray</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">cv::cuda::GpuMatND::StepArray</a> =  std::vector&lt;size_t&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1b0f008b1853b871ff6a710f0e212312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b0f008b1853b871ff6a710f0e212312">&#9670;&nbsp;</a></span>~GpuMatND()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::~GpuMatND </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>destructor </p>

</div>
</div>
<a id="a0121ae48309b703132bdd1c62a74e8b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0121ae48309b703132bdd1c62a74e8b9">&#9670;&nbsp;</a></span>GpuMatND() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::GpuMatND </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>default constructor </p>

</div>
</div>
<a id="aa861cde3285953a9f31fc6cbc0e864b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa861cde3285953a9f31fc6cbc0e864b9">&#9670;&nbsp;</a></span>GpuMatND() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::GpuMatND </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>Array of integers specifying an n-dimensional array shape. </td></tr>
    <tr><td class="paramname">type</td><td>Array type. Use CV_8UC1, ..., CV_16FC4 to create 1-4 channel matrices, or <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga78c5506f62d99edd7e83aba259250394">CV_8UC(n)</a>, ..., <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4213eb262159eb6da4edf8c9255e8244">CV_64FC(n)</a> to create multi-channel (up to CV_CN_MAX channels) matrices. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac88ce43a2c7922db3dbfc1979faca28d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac88ce43a2c7922db3dbfc1979faca28d">&#9670;&nbsp;</a></span>GpuMatND() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::GpuMatND </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a>&#160;</td>
          <td class="paramname"><em>step</em> = <code><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>Array of integers specifying an n-dimensional array shape. </td></tr>
    <tr><td class="paramname">type</td><td>Array type. Use CV_8UC1, ..., CV_16FC4 to create 1-4 channel matrices, or <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga78c5506f62d99edd7e83aba259250394">CV_8UC(n)</a>, ..., <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4213eb262159eb6da4edf8c9255e8244">CV_64FC(n)</a> to create multi-channel (up to CV_CN_MAX channels) matrices. </td></tr>
    <tr><td class="paramname">data</td><td>Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it. </td></tr>
    <tr><td class="paramname">step</td><td>Array of <a class="el" href="../../df/d5b/namespacecv_1_1gapi_1_1streaming.html#a0a915e69f4cc8284293e40fc9ffbf157" title="Gets dimensions from Mat. ">_size.size()</a>-1 steps in case of a multi-dimensional array (the last step is always set to the element size). If not specified, the matrix is assumed to be continuous. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a069cb5cb3feadfb800c1a318c726391b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a069cb5cb3feadfb800c1a318c726391b">&#9670;&nbsp;</a></span>GpuMatND() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::GpuMatND </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9b0d644164f83237dd4354344781ca7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b0d644164f83237dd4354344781ca7e">&#9670;&nbsp;</a></span>GpuMatND() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::GpuMatND </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a286dc4b28a43c41814355fea8fb5eecf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a286dc4b28a43c41814355fea8fb5eecf">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> cv::cuda::GpuMatND::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a full copy of the array and the underlying data. The method creates a full copy of the array. It mimics the behavior of <a class="el" href="../../d3/d63/classcv_1_1Mat.html#adff2ea98da45eae0833e73582dd4a660" title="Creates a full copy of the array and the underlying data. ">Mat::clone()</a>, i.e. the original step is not taken into account. So, the array copy is a continuous array occupying <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a1f394b0658fde4da1fd67e667e1e7d0d" title="returns the total number of array elements ">total()</a>*elemSize() bytes. </p>

</div>
</div>
<a id="a03f31a070b2336e47cd24de568cfb2c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03f31a070b2336e47cd24de568cfb2c2">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> cv::cuda::GpuMatND::clone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This overload is non-blocking, so it may return even if the copy operation is not finished. </p>

</div>
</div>
<a id="ac611c38596f137fcb096297735a4ea13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac611c38596f137fcb096297735a4ea13">&#9670;&nbsp;</a></span>create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates GPU memory. Suppose there is some GPU memory already allocated. In that case, this method may choose to reuse that GPU memory under the specific condition: it must be of the same size and type, not externally allocated, the GPU memory is continuous(i.e., <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a69cf00f52088902c4f7cfb878889d24b">isContinuous()</a> is true), and is not a sub-matrix of another <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> (i.e., <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a12b9ae95f63299fc6a4ca0078f393368" title="returns true if the matrix is a sub-matrix of another matrix ">isSubmatrix()</a> is false). In other words, this method guarantees that the GPU memory allocated by this method is always continuous and is not a sub-region of another <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>. </p>

</div>
</div>
<a id="a838414e68957e2e4ea6cf92f138d36ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a838414e68957e2e4ea6cf92f138d36ed">&#9670;&nbsp;</a></span>createGpuMatHeader() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a> cv::cuda::GpuMatND::createGpuMatHeader </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">IndexArray</a>&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a>&#160;</td>
          <td class="paramname"><em>rowRange</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a>&#160;</td>
          <td class="paramname"><em>colRange</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a> header for a 2D plane part of an n-dim matrix. </p>
<dl class="section note"><dt>Note</dt><dd>The returned <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a> is constructed with the constructor for user-allocated data. That is, It does not perform reference counting. </dd>
<dd>
This function does not increment this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>'s reference counter. </dd></dl>

</div>
</div>
<a id="a9685798953a57ebbd18558a6ca0e9c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9685798953a57ebbd18558a6ca0e9c63">&#9670;&nbsp;</a></span>createGpuMatHeader() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a> cv::cuda::GpuMatND::createGpuMatHeader </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Creates a <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a> header if this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> is effectively 2D. </p><dl class="section note"><dt>Note</dt><dd>The returned <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a> is constructed with the constructor for user-allocated data. That is, It does not perform reference counting. </dd>
<dd>
This function does not increment this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>'s reference counter. </dd></dl>

</div>
</div>
<a id="a541ecc2ed0a625fa1a553ebec49ea5da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a541ecc2ed0a625fa1a553ebec49ea5da">&#9670;&nbsp;</a></span>download() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::download </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a>&#160;</td>
          <td class="paramname"><em>dst</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae73194a603d3897279950934d52e94ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae73194a603d3897279950934d52e94ce">&#9670;&nbsp;</a></span>download() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::download </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a>&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a9613a1cb08b93538c6a91e4b65dc68f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9613a1cb08b93538c6a91e4b65dc68f1">&#9670;&nbsp;</a></span>elemSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t cv::cuda::GpuMatND::elemSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns element size in bytes </p>

</div>
</div>
<a id="a32608e334c69769359fb395a9c012f94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32608e334c69769359fb395a9c012f94">&#9670;&nbsp;</a></span>elemSize1()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t cv::cuda::GpuMatND::elemSize1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns the size of element channel in bytes </p>

</div>
</div>
<a id="ad70f1a6adcd06229f4953b72b9d7918d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad70f1a6adcd06229f4953b72b9d7918d">&#9670;&nbsp;</a></span>empty()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::cuda::GpuMatND::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns true if data is null </p>

</div>
</div>
<a id="a1c5ccfd3a01b3c25ef2b860668781017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c5ccfd3a01b3c25ef2b860668781017">&#9670;&nbsp;</a></span>external()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::cuda::GpuMatND::external </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns true if not empty and points to external(user-allocated) gpu memory </p>

</div>
</div>
<a id="a31d6434447c3acf551f580175b1daaf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31d6434447c3acf551f580175b1daaf1">&#9670;&nbsp;</a></span>getDevicePtr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga65f85814a8290f9797005d3b28e7e5fc">uchar</a>* cv::cuda::GpuMatND::getDevicePtr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns pointer to the first byte of the GPU memory </p>

</div>
</div>
<a id="a69cf00f52088902c4f7cfb878889d24b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69cf00f52088902c4f7cfb878889d24b">&#9670;&nbsp;</a></span>isContinuous()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::cuda::GpuMatND::isContinuous </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>returns true iff the <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> data is continuous (i.e. when there are no gaps between successive rows) </p>

</div>
</div>
<a id="a12b9ae95f63299fc6a4ca0078f393368"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12b9ae95f63299fc6a4ca0078f393368">&#9670;&nbsp;</a></span>isSubmatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::cuda::GpuMatND::isSubmatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns true if the matrix is a sub-matrix of another matrix </p>

</div>
</div>
<a id="af1c7d7063a526b4662c339a965e601a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1c7d7063a526b4662c339a965e601a7">&#9670;&nbsp;</a></span>operator GpuMat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::cuda::GpuMatND::operator <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts a 2D plane part of an n-dim matrix if this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> is effectively 2D. It differs from <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a838414e68957e2e4ea6cf92f138d36ed" title="Creates a GpuMat header for a 2D plane part of an n-dim matrix. ">createGpuMatHeader()</a> in that it clones a part of this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>. </p>
<dl class="section note"><dt>Note</dt><dd>This operator does not increment this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>'s reference counter; </dd></dl>

</div>
</div>
<a id="ac50c25ab533701f7e6c590f77ceca463"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac50c25ab533701f7e6c590f77ceca463">&#9670;&nbsp;</a></span>operator()() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> cv::cuda::GpuMatND::operator() </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ranges</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts a sub-matrix. The operator makes a new header for the specified sub-array of *this. The operator is an O(1) operation, that is, no matrix data is copied. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ranges</td><td>Array of selected ranges along each dimension. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9b4feb04cb75aa314905b36d15cf7684"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b4feb04cb75aa314905b36d15cf7684">&#9670;&nbsp;</a></span>operator()() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html">GpuMat</a> cv::cuda::GpuMatND::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#ad237f0819b8b867a4dd8a4e8ebe69751">IndexArray</a>&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a>&#160;</td>
          <td class="paramname"><em>rowRange</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d35/classcv_1_1Range.html">Range</a>&#160;</td>
          <td class="paramname"><em>colRange</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts a 2D plane part of an n-dim matrix. It differs from createGpuMatHeader(IndexArray, Range, Range) in that it clones a part of this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> to the returned <a class="el" href="../../d0/d60/classcv_1_1cuda_1_1GpuMat.html" title="Base storage class for GPU memory with reference counting. ">GpuMat</a>. </p>
<dl class="section note"><dt>Note</dt><dd>This operator does not increment this <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>'s reference counter; </dd></dl>

</div>
</div>
<a id="a7e3de09bc1167dc22782cfdfe785110d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e3de09bc1167dc22782cfdfe785110d">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>&amp; cv::cuda::GpuMatND::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a094e90d266662f1ab2b47e72aa0468fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a094e90d266662f1ab2b47e72aa0468fb">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a>&amp; cv::cuda::GpuMatND::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab2fb57a56ebd24076ff2ab715cfdb55b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2fb57a56ebd24076ff2ab715cfdb55b">&#9670;&nbsp;</a></span>release()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::release </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aff068aafbcb358f85bf214f51ff3a785"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff068aafbcb358f85bf214f51ff3a785">&#9670;&nbsp;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html">GpuMatND</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1f394b0658fde4da1fd67e667e1e7d0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f394b0658fde4da1fd67e667e1e7d0d">&#9670;&nbsp;</a></span>total()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t cv::cuda::GpuMatND::total </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns the total number of array elements </p>

</div>
</div>
<a id="a9ead01c1372c6dce2ee3217b7392ffff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ead01c1372c6dce2ee3217b7392ffff">&#9670;&nbsp;</a></span>totalMemSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t cv::cuda::GpuMatND::totalMemSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns the size of underlying memory in bytes </p>

</div>
</div>
<a id="aaaa7c0aff13beeac8217773f57b47468"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaa7c0aff13beeac8217773f57b47468">&#9670;&nbsp;</a></span>type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::cuda::GpuMatND::type </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns element type </p>

</div>
</div>
<a id="af2216b878fd50a7aec3d1f580bd5471a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2216b878fd50a7aec3d1f580bd5471a">&#9670;&nbsp;</a></span>upload() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::upload </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab36e1f43183fa34d08170a555aa05ac4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab36e1f43183fa34d08170a555aa05ac4">&#9670;&nbsp;</a></span>upload() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::GpuMatND::upload </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0c7bb2ffe61258ee8330e92ed2de841c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c7bb2ffe61258ee8330e92ed2de841c">&#9670;&nbsp;</a></span>dims</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::cuda::GpuMatND::dims</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>matrix dimensionality </p>

</div>
</div>
<a id="a7d884fbe10014edf2410aed9d0dc7d4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d884fbe10014edf2410aed9d0dc7d4c">&#9670;&nbsp;</a></span>flags</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::cuda::GpuMatND::flags</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>includes several bit-fields:</p><ul>
<li>the magic signature</li>
<li>continuity flag</li>
<li>depth</li>
<li>number of channels </li>
</ul>

</div>
</div>
<a id="ab0b733dbf9e305537fd9f45834d1fa15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0b733dbf9e305537fd9f45834d1fa15">&#9670;&nbsp;</a></span>size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a02420c069482deee85b0f111d3edd3d3">SizeArray</a> cv::cuda::GpuMatND::size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>shape of this array </p>

</div>
</div>
<a id="a3448b5ff7cd136b1c36ef20ce95136af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3448b5ff7cd136b1c36ef20ce95136af">&#9670;&nbsp;</a></span>step</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d2/d0f/classcv_1_1cuda_1_1GpuMatND.html#a200e362b6ffa85296e917a3a7baf5397">StepArray</a> cv::cuda::GpuMatND::step</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>step values Their semantics is identical to the semantics of step for <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a>. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opencv2/core/<a class="el" href="../../d8/dd1/modules_2core_2include_2opencv2_2core_2cuda_8hpp.html">cuda.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:44 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
